<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="./js/react.development.js"></script>
  <script src="./js/react-dom.development.js"></script>
  <script src="./js/babel.min.js"></script>
</head>
<body>
  <div id="root"></div>

  <script type="text/babel">
    let vDom

    // 使用jsx创建虚拟DOM

    /* 
    {表达式}
    1. 可以是js的表达式, 不能是js的语句
    2. 可以是任意基本类型数据值, 但null、undefined和布尔值没有任何显示
    3. 可以是一个js数组, 也可以是react元素对象, 但不能是其它js对象
    4. style属性值必须是一个包含样式的js对象

    语句与表达式的区别: 
      表达式会返回一个值, 但语句是去做一个计算处理工作的, 不会返回一个值出来

    jsx中的表达式是数组时: 自动遍历显示数组中的每个item, 依次显示
    */

    let title = 'I am Title'
    let blue = 'green'
    vDom = (
      <div>
        <h2 title={title}>---{title.toUpperCase()}+++</h2>
        <h2>{'abc'}</h2>
        <h2>{null}</h2>
        <h2>{undefined}</h2>
        <h2>{true}</h2>
        <h2>{false}</h2>
        <h2>{[1, 'abc']}</h2>
        <h2>{React.createElement('p', null, 'atguigu')}</h2>
        {/* <h2>{{a: 1}}</h2> */ /* js的注释 */}  {/* 不支持非React元素对象 */}

        <h2 style={{color: 'blue'}}>atguigu</h2>

      </div>
    )
    
    
     ReactDOM.render(vDom, document.getElementById('root'))
  </script>
</body>
</html>